\let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}\documentclass[twoside]{book}

%% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
\usepackage{ifthen}
\ifx\requestedLaTeXdate\undefined
\usepackage{array}
\else
\usepackage{array}[=2016-10-06]
\fi
%%
% Packages required by doxygen
\usepackage{fixltx2e}
\usepackage{calc}
\usepackage{doxygen}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\usepackage{multicol}
\usepackage{multirow}
\PassOptionsToPackage{warn}{textcomp}
\usepackage{textcomp}
\usepackage[nointegrals]{wasysym}
\usepackage[table]{xcolor}
\usepackage{ifpdf,ifxetex}

% Font selection
\usepackage[T1]{fontenc}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{amssymb}
\usepackage{sectsty}
\allsectionsfont{%
  \fontseries{bc}\selectfont%
  \color{darkgray}%
}
\renewcommand{\DoxyLabelFont}{%
  \fontseries{bc}\selectfont%
  \color{darkgray}%
}
\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}

% Arguments of doxygenemoji:
% 1) ':<text>:' form of the emoji, already "LaTeX"-escaped
% 2) file with the name of the emoji without the .png extension
% in case image exist use this otherwise use the ':<text>:' form
\newcommand{\doxygenemoji}[2]{%
  \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
}
% Page & text layout
\usepackage{geometry}
\geometry{%
  a4paper,%
  top=2.5cm,%
  bottom=2.5cm,%
  left=2.5cm,%
  right=2.5cm%
}
\tolerance=750
\hfuzz=15pt
\hbadness=750
\setlength{\emergencystretch}{15pt}
\setlength{\parindent}{0cm}
\newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
\newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
\doxynormalparskip
\makeatletter
\renewcommand{\paragraph}{%
  \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
    \normalfont\normalsize\bfseries\SS@parafont%
  }%
}
\renewcommand{\subparagraph}{%
  \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
    \normalfont\normalsize\bfseries\SS@subparafont%
  }%
}
\makeatother

\makeatletter
\newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
\makeatother

% Headers & footers
\usepackage{fancyhdr}
\pagestyle{fancyplain}
\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
\fancyhead[CE]{\fancyplain{}{}}
\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
\fancyhead[CO]{\fancyplain{}{}}
\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
\fancyfoot[LE]{\fancyplain{}{}}
\fancyfoot[CE]{\fancyplain{}{}}
\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
\fancyfoot[CO]{\fancyplain{}{}}
\fancyfoot[RO]{\fancyplain{}{}}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand{\chaptermark}[1]{%
  \markboth{#1}{}%
}
\renewcommand{\sectionmark}[1]{%
  \markright{\thesection\ #1}%
}

% Indices & bibliography
\usepackage{natbib}
\usepackage[titles]{tocloft}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{5}
\makeindex

\usepackage{newunicodechar}
  \newunicodechar{⁻}{${}^{-}$}% Superscript minus
  \newunicodechar{²}{${}^{2}$}% Superscript two
  \newunicodechar{³}{${}^{3}$}% Superscript three

% Hyperlinks (required, but should be loaded last)
\ifpdf
  \usepackage[pdftex,pagebackref=true]{hyperref}
\else
  \ifxetex
    \usepackage[pagebackref=true]{hyperref}
  \else
    \usepackage[ps2pdf,pagebackref=true]{hyperref}
  \fi
\fi

\hypersetup{%
  colorlinks=true,%
  linkcolor=blue,%
  citecolor=blue,%
  unicode%
}

% Custom commands
\newcommand{\clearemptydoublepage}{%
  \newpage{\pagestyle{empty}\cleardoublepage}%
}

\usepackage{caption}
\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}

\usepackage{etoc}
\etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
\renewcommand{\numberline}[1]{#1~}
%===== C O N T E N T S =====

\begin{document}

% Titlepage & ToC
\hypersetup{pageanchor=false,
             bookmarksnumbered=true,
             pdfencoding=unicode
            }
\pagenumbering{alph}
\begin{titlepage}
\vspace*{7cm}
\begin{center}%
{\Large y\+Lib \\[1ex]\large V0.\+0.\+9 beta }\\
\vspace*{1cm}
{\large Generated by Doxygen 1.8.20}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
\pagenumbering{roman}
\tableofcontents
\clearemptydoublepage
\pagenumbering{arabic}
\hypersetup{pageanchor=true}

%--- Begin generated contents ---
\chapter{Bug List}
\label{bug}
\Hypertarget{bug}
\input{bug}
\chapter{Namespace Index}
\input{namespaces}
\chapter{Hierarchical Index}
\input{hierarchy}
\chapter{Class Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Namespace Documentation}
\input{namespaceyLib}
\chapter{Class Documentation}
\input{structyLib_1_1____errno__desc__st____}
\input{structyLib_1_1yValue_1_1____value__container____}
\input{structyHttpRequestParam_1_1____yhttp__request__query__kv____}
\input{structyLib_1_1yBasicAllocator_1_1rebind}
\input{structstruct}
\input{structSubCategoryProperty}
\input{structSubCategoryProperty}
\input{classtmp__data}
\input{classyLib_1_1yAbstractSocket}
\input{classyLib_1_1yAbstractSocketServer}
\input{classyLib_1_1yBasicAllocator}
\input{classyLib_1_1yCommon}
\input{classyLib_1_1yConfig}
\input{classyLib_1_1yConfigValue}
\input{classyLib_1_1yCurl}
\input{structyCurlParam}
\input{classyLib_1_1yException}
\input{structyLib_1_1yExceptionTable}
\input{classyLib_1_1yHttp}
\input{structyHttpPostMultiPartItem}
\input{structyHttpPostUrlencodedItem}
\input{structyHttpRequestParam}
\input{structyHttpResponseInfo}
\input{classyLib_1_1yJson}
\input{classyLib_1_1yJsonValue}
\input{classyLib_1_1yLinearList}
\input{classyLib_1_1yLinkedList}
\input{structyLib_1_1yLinkedListNode}
\input{classyLib_1_1yLinuxErrnoHelper}
\input{classyLib_1_1yLog}
\input{classyMainContext}
\input{classyLib_1_1yObject}
\input{classyLib_1_1yQueue}
\input{classyLib_1_1ySharedMemory}
\input{classyLib_1_1yShell}
\input{classyLib_1_1yStack}
\input{classyStartParam}
\input{classyLib_1_1yTcpServer}
\input{classyLib_1_1yTcpSocket}
\input{classyTestElementData}
\input{classyThread}
\input{classyLib_1_1yUdpServer}
\input{classyLib_1_1yUdpSocket}
\input{classyLib_1_1yValue}
\input{classyLib_1_1yXml}
\input{classyLib_1_1yXML}
\input{structyXmlOptsEx}
\chapter{File Documentation}
\input{ymain_8cpp}
\input{ystart_8cpp}
\input{ystart_8hpp}
\input{test__yconfig_8cpp}
\input{test__ycurl_8cpp}
\input{test__yhttp_8cpp}
\input{test__yjson_8cpp}
\input{test__ylog_8cpp}
\input{test__ysharedmemory__r_8cpp}
\input{test__ysharedmemory__w_8cpp}
\input{test__yshell_8cpp}
\input{test__ytemp_8cpp}
\input{test__yxml_8cpp}
\input{ybasic__algorithm_8hpp}
\input{ybinary__tree_8hpp}
\input{ydynamic__search_8hpp}
\input{yexternal__sorting_8hpp}
\input{ygeneralized__list_8hpp}
\input{ygraph__toolbox_8hpp}
\input{yinternal__sorting_8hpp}
\input{ylinear__list_8hpp}
\input{ylinked__list_8hpp}
\input{ymemory__manage_8hpp}
\input{yqueue_8hpp}
\input{ysparse__matrix_8hpp}
\input{ystack_8hpp}
\input{ystatic__search_8hpp}
\input{ystring__toolbox_8hpp}
\input{yallocator_8hpp}
\input{ybasicvalue_8hpp}
\input{ycommon_8hpp}
\input{ycore_8hpp}
\input{ydefs_8hpp}
\input{yexception_8hpp}
\input{ylib__extra__infos_8hpp}
\input{ylinuxerrnohelper_8hpp}
\input{yobject_8hpp}
\input{yversion_8hpp}
\input{yipc_8hpp}
\input{ysharedmemory_8hpp}
\input{yabstractsocket_8h}
\input{yabstractsocketserver_8h}
\input{ynetwork_8hpp}
\input{ytcpserver_8h}
\input{ytcpsocket_8h}
\input{yudpserver_8h}
\input{yudpsocket_8h}
\input{yconfig_8hpp}
\input{ycurl_8hpp}
\input{yhttp_8hpp}
\input{yjson_8hpp}
\input{ylog_8hpp}
\input{yshell_8hpp}
\input{yutility_8hpp}
\input{yxml_8hpp}
\input{ylib_8hpp}
\input{src_2CMakeLists_8txt}
\input{examples_2CMakeLists_8txt}
\input{tests_2CMakeLists_8txt}
\input{ybasicvalue_8cpp}
\input{ycommon_8cpp}
\input{yexception_8cpp}
\input{ylinuxerrnohelper_8cpp}
\input{yobject_8cpp}
\input{ysharedmemory_8cpp}
\input{yabstractsocket_8cpp}
\input{yabstractsocketserver_8cpp}
\input{ytcpserver_8cpp}
\input{ytcpsocket_8cpp}
\input{yudpserver_8cpp}
\input{yudpsocket_8cpp}
\input{yconfig_8cpp}
\input{ycurl_8cpp}
\input{yhttp_8cpp}
\input{yjson_8cpp}
\input{ylog_8cpp}
\input{yshell_8cpp}
\input{yxml_8cpp}
\input{all__in__one__tests_8cpp}
\input{ylinearlist__tests_8cpp}
\input{ylinkedlist__tests_8cpp}
\input{yqueue__tests_8cpp}
\input{ystack__tests_8cpp}
\input{ytest__element__data_8cpp}
\input{ybasicvalue__tests_8cpp}
\input{ycommon__tests_8cpp}
\input{yexception__tests_8cpp}
\input{yobject__tests_8cpp}
\input{ysharedmemory__tests_8cpp}
\input{ytcpclient__tests_8cpp}
\input{ytcpserver__tests_8cpp}
\input{yudpclient__tests_8cpp}
\input{yudpserver__tests_8cpp}
\input{test__main_8cpp}
\input{yconfig__tests_8cpp}
\input{yhttp__tests_8cpp}
\input{yjson__tests_8cpp}
\input{ylog__tests_8cpp}
\input{yshell__tests_8cpp}
\input{yxml__tests_8cpp}
%--- End generated contents ---

% Index
\backmatter
\newpage
\phantomsection
\clearemptydoublepage
\addcontentsline{toc}{chapter}{\indexname}
\printindex

\end{document}
